package _搜索;

import java.util.Scanner;

public class _3824DFS回溯_开心 {
	static Long max = Long.MIN_VALUE;
	static Long min = Long.MAX_VALUE;
	public static void main(String[] args) {
		
		Scanner scan = new Scanner(System.in);
		char c[] = scan.next().toCharArray();
		int k = scan.nextInt();
		StringBuilder str = new StringBuilder();
		dfs(0,c,k,str);
		System.out.println(max-min);
		
	}
	
	public static void dfs(int u,char c[],int k,StringBuilder str) {
		// u表示已经放入StringBuilder中的字符
		// 如何放入的字符等于所有字符的长度
		if(u == c.length) {
			// 如果k是0，说明k个+已经拼接到字符串上了，这里就需要进行切分加法计算
			if(k == 0) {
				String s[] = str.toString().split("\\+");
				long res = 0;
				for(String num : s) {
					res += Long.valueOf(num);
				}
				max = Math.max(max, res);
				min = Math.min(min, res);
			}
			return;
		}
		// 把数值加入字符串中
		str.append(c[u]);
		// 继续搜索
		dfs(u+1,c,k,str);
		// 回溯（撤销上一步操作
		str.deleteCharAt(str.length()-1);
		// k>0表示还有+号，u < c.length-1表示该数值之后还有数值，这样才能附上+号
		if(k > 0 && u < c.length - 1) {
			str.append(c[u]);
			str.append('+');
			// 已经加了一个字符串 u+1,已经用掉了一个+号 k-1
			dfs(u+1,c,k-1,str);
			// 上面加了一个字符串和一个加号，一共是两步，所以这里要减去两次
			str.deleteCharAt(str.length() - 1);
			str.deleteCharAt(str.length() - 1);
		}
		
	}
	
}
